import request from '@/utils/request'

const uumsPrefix = '/uums'

// 插入
export function insertRecord(data) {
  return request({
    url: uumsPrefix + '/SysOrgInfo',
    method: 'POST',
    data: data
  })
}

// 更新
export function updateRecord(id, data) {
  return request({
    url: uumsPrefix + '/SysOrgInfo/' + id,
    method: 'PUT',
    data: data
  })
}

// 条件更新
export function updateRecordByCondition(data) {
  return request({
    url: uumsPrefix + '/SysOrgInfo',
    method: 'PUT',
    data: data
  })
}

// 删除（更改状态）
export function deleteRecord(data) {
  return request({
    url: uumsPrefix + '/SysOrgInfo',
    method: 'DELETE',
    data: data
  })
}

// 删除
export function forceDeleteRecord(data) {
  return request({
    url: uumsPrefix + '/SysOrgInfo/force',
    method: 'DELETE',
    data: data
  })
}

// 查询列表
export function queryList(data) {
  return request({
    url: uumsPrefix + '/SysOrgInfo/select',
    method: 'POST',
    data: data
  })
}

// 查询数量
export function queryCount(data) {
  return request({
    url: uumsPrefix + '/SysOrgInfo/count',
    method: 'POST',
    data: data
  })
}

// 通过主键ID获取树形结构
export function queryTreeById(data) {
  let params = 'id=' + data.id // 主键ID
  // 机构状态串，多个英文逗号分隔,可选值为：1：活动，2：禁用，3：删除
  if (data.status) {
    params += '&status=' + data.status
  }
  // 机构类别（为空时，查询所有，1_公司/企业，2_部门/科室）
  if (data.category) {
    params += '&category=' + data.category
  }
  // 是否是临时(0：否，1：是)
  if (data.isTemp || data.isTemp === 0) {
    params += '&isTemp=' + data.isTemp
  }
  // 是否隐藏(0：否，1：是)
  if (data.isHidden || data.isHidden === 0) {
    params += '&isHidden=' + data.isHidden
  }
  return request({
    url: uumsPrefix + '/SysOrgInfo/treeById?' + params,
    method: 'POST',
    data: {}
  })
}

// 通过父ID获取树形结构
export function queryTreeByParentId(data) {
  let params = ''
  // 父节点ID，为空时为****
  if (data.parentId) {
    params += 'parentId=' + data.parentId
  }
  // 机构状态串，多个英文逗号分隔,可选值为：1：活动，2：禁用，3：删除
  if (data.status) {
    params += '&status=' + data.status
  }
  // 机构类别（为空时，查询所有，1_公司/企业，2_部门/科室）
  if (data.category) {
    params += '&category=' + data.category
  }
  // 是否是临时(0：否，1：是)
  if (data.isTemp || data.isTemp === 0) {
    params += '&isTemp=' + data.isTemp
  }
  // 是否隐藏(0：否，1：是)
  if (data.isHidden || data.isHidden === 0) {
    params += '&isHidden=' + data.isHidden
  }
  return request({
    url: uumsPrefix + '/SysOrgInfo/treeByParentId?' + params,
    method: 'POST',
    data: {}
  })
}

// 给定树结构ID集合，返回组织树形结构
export function queryTreeByIds(data) {
  return request({
    url: uumsPrefix + '/SysOrgInfo/treeByIds',
    method: 'POST',
    data: data
  })
}

// 通过主键ID获取树形结构
export function queryTreeByIdEx(data) {
  let params = 'id=' + data.id // 主键ID
  // 机构状态串，多个英文逗号分隔,可选值为：1：活动，2：禁用，3：删除
  if (data.status) {
    params += '&status=' + data.status
  }
  // 机构类别（为空时，查询所有，1_公司/企业，2_部门/科室）
  if (data.category) {
    params += '&category=' + data.category
  }
  // 是否是临时(0：否，1：是)
  if (data.isTemp || data.isTemp === 0) {
    params += '&isTemp=' + data.isTemp
  }
  // 是否隐藏(0：否，1：是)
  if (data.isHidden || data.isHidden === 0) {
    params += '&isHidden=' + data.isHidden
  }
  return request({
    url: uumsPrefix + '/SysOrgInfo/treeById_ex?' + params,
    method: 'POST',
    data: {}
  })
}
